package m1;

import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;


public class Producer {
    public static void main(String[] args) throws Exception {
        //建立连接
        ConnectionFactory f=new ConnectionFactory();
        f.setHost("192.168.64.140");
        f.setPort(5672);
        f.setUsername("admin");
        f.setPassword("admin");
        Connection conn=f.newConnection();
        Channel c=conn.createChannel();
        //让服务器创建队列  helloworld（已经存在则不重复创建）
        //队列的参数 helloworld 是否是持久队列  是否是排他（独占）队列
        /**
         * 参数含义:
         * 		 -queue: 队列名称
         * 		 -durable: 队列持久化,true表示RabbitMQ重启后队列仍存在
         * 		 -exclusive: 排他,true表示限制仅当前连接可用
         * 		 -autoDelete: 当最后一个消费者断开后,是否删除队列
         * 		 -arguments: 其他参数
         */
        c.queueDeclare("helloworld", false, false,false,null);
        //消息发送到helloworld 队列
        //参数：
        //  1.默认的交换机（）
        //  3.其他的消息属性配置
        /**
         * 参数含义:
         * 		-exchange: 交换机名称,空串表示默认交换机"(AMQP default)",不能用 null
         * 		-routingKey: 对于默认交换机,路由键就是目标队列名称
         * 		-props: 其他参数,例如头信息
         * 		-body: 消息内容byte[]数组
         */
        c.basicPublish("", "helloworld", null,"over!".getBytes());
        System.out.println("呼叫苍鹰");
        conn.close();
    }
}
